const express = require('express')

// 创建服务实例
const app = express()


// 创建路由

//针对请求的中间件
app.get('/request', (req,res,next) => {
    // res.send('请求到此为止')
    // 我们可以利用中间件 对请求对象进行一些加工，例如：添加、解析属性等等操作
    req.name = 'middleware'

    // next回调函数 调用之后 就会将请求传递给下一个中间件
    next()
})


app.get('/request', (req, res) => {
    console.log(req.name)
    console.log('体会中间件')
    res.send('体会中间件')
})


//  请求中间件的第二种写法
app.get('/middle', (req, res, next) => {
    if(req.query.next) {
        next()
    }else {
        // 请注意 如果一个中间件中途 返回了响应，代表此次请求已经结束，不会再传递给下一个中间件
        res.send('middle1')
    }
} ,(req,res) => {
    console.log('middle2')
    res.send('middle2')
})



// 监听端口
app.listen(3009, () => {
    console.log('服务已启动，3009端口')
})